home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc1364.txt < prev    next >
Text File  |  1994-08-01  |  32KB  |  788 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        K. Varadhan
  8. Request for Comments: 1364                                        OARnet
  9.                                                           September 1992
  10.  
  11.  
  12.                           BGP OSPF Interaction
  13.  
  14. Status of this Memo
  15.  
  16.    This RFC specifies an IAB standards track protocol for the Internet
  17.    community, and requests discussion and suggestions for improvements.
  18.    Please refer to the current edition of the "IAB Official Protocol
  19.    Standards" for the standardization state and status of this protocol.
  20.    Distribution of this memo is unlimited.
  21.  
  22. Abstract
  23.  
  24.    This memo defines the various criteria to be used when designing
  25.    Autonomous System Border Routers (ASBR) that will run BGP with other
  26.    ASBRs external to the AS and OSPF as its IGP.
  27.  
  28. Table of Contents
  29.  
  30.    1.  Introduction .................................................  2
  31.    2.  Route Exchange ...............................................  2
  32.    2.1.  Exporting OSPF routes into BGP .............................  3
  33.    2.2.  Importing BGP routes into OSPF .............................  4
  34.    3.  BGP Identifier and OSPF router ID ............................  5
  35.    4.  Setting OSPF tags, BGP ORIGIN and AS_PATH attributes .........  5
  36.    4.1.  Semantics of the characteristics bits ......................  7
  37.    4.2.  Configuration parameters for setting the OSPF tag ..........  8
  38.    4.3.  Manually configured tags ...................................  9
  39.    4.4.  Automatically generated tags ................................ 9
  40.    4.4.1.  Routes with incomplete path information, pl = 0 ........... 9
  41.    4.4.2.  Routes with incomplete path information, pl = 1 ........... 9
  42.    4.4.3.  Routes with incomplete path information, pl >= 1 ..........10
  43.    4.4.4.  Routes with complete path information, pl = 0 .............10
  44.    4.4.5.  Routes with complete path information, pl = 1 .............11
  45.    4.4.6.  Routes with complete path information, pl >= 1 ............11
  46.    4.5.  Miscellaneous tag settings ..................................12
  47.    4.6.  Summary of the TagType field setting ........................12
  48.    5.  Setting OSPF Forwarding Address and BGP NEXT_HOP attribute ....12
  49.    6.  Security Considerations .......................................13
  50.    7.  Acknowledgements ..............................................13
  51.    8.  Bibliography ..................................................14
  52.    9.  Author's Address ..............................................14
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Varadhan                                                        [Page 1]
  59.  
  60. RFC 1364                  BGP OSPF Interaction            September 1992
  61.  
  62.  
  63. 1.  Introduction
  64.  
  65.    This document defines the various criteria to be used when designing
  66.    Autonomous System Border Routers (ASBR) that will run BGP [RFC1267]
  67.    with other ASBRs external to the AS, and OSPF [RFC1247] as its IGP.
  68.  
  69.    This document defines how the following fields in OSPF and attributes
  70.    in BGP are to be set when interfacing between BGP and OSPF at an
  71.    ASBR:
  72.  
  73.       OSPF cost and type      vs. BGP INTER-AS METRIC
  74.       OSPF tag                vs. BGP ORIGIN and AS_PATH
  75.       OSPF Forwarding Address vs. BGP NEXT_HOP
  76.  
  77.    For a more general treatise on routing and route exchange problems,
  78.    please refer to [ROUTE-LEAKING] and [NEXT-HOP] by Philip Almquist.
  79.  
  80.    This document uses the two terms "Autonomous System" and "Routing
  81.    Domain".  The definitions for the two are below:
  82.  
  83.    The term Autonomous System is the same as is used in the BGP-3 RFC
  84.    [RFC1267], given below:
  85.  
  86.       "The use of the term Autonomous System here stresses the fact
  87.       that, even when multiple IGPs and metrics are used, the
  88.       administration of an AS appears to other ASs to have a single
  89.       coherent interior routing plan and presents a consistent picture
  90.       of what networks are reachable through it.  From the standpoint of
  91.       exterior routing, an AS can be viewed as monolithic: reachability
  92.       to networks directly connected to the AS must be equivalent from
  93.       all border gateways of the AS."
  94.  
  95.    The term Routing Domain was first used in [ROUTE-LEAKING] and is
  96.    given below:
  97.  
  98.       "A Routing Domain is a collection of routers which coordinate
  99.       their routing knowledge using a single (instance of) a routing
  100.       protocol."
  101.  
  102. 2.  Route Exchange
  103.  
  104.    This section discusses the constraints that must be met to exchange
  105.    routes between an external BGP session with a peer from another AS
  106.    and internal OSPF routes.
  107.  
  108.    BGP does not carry subnet information in routing updates.  Therefore,
  109.    when referring to a subnetted network in the OSPF routing domain, we
  110.    consider the equivalent network route in the context of BGP.
  111.  
  112.  
  113.  
  114. Varadhan                                                        [Page 2]
  115.  
  116. RFC 1364                  BGP OSPF Interaction            September 1992
  117.  
  118.  
  119.    Multiple subnet routes for a subnetted network in OSPF are collapsed
  120.    into one network route when exported into BGP.
  121.  
  122. 2.1.  Exporting OSPF routes into BGP
  123.  
  124.   1.   The administrator must be able to selectively export routes
  125.        into BGP via an appropriate filter mechanism.
  126.  
  127.        This filter mechanism must support such control with the
  128.        granularity of a single network.
  129.  
  130.        Additionally, the administrator must be able to filter based
  131.        on the OSPF tag and the various sub-fields of the OSPF tag.
  132.        The settings of the tag and the sub-fields are defined in
  133.        section 4 in more detail.
  134.  
  135.        o    By default, no routes must be exported from OSPF into
  136.             BGP.  A single mechanism must permit all OSPF inter-area
  137.             and intra-area routes to be exported into BGP.
  138.  
  139.        OSPF external routes of type 1 and type 2 must never be
  140.        exported into BGP unless they are explicitly configured.
  141.  
  142.   2.   When configured to export a network, the ASBR must advertise
  143.        a network route for a subnetted network, as long as at least
  144.        one subnet in the subnetted network is reachable via OSPF.
  145.  
  146.   3.   The network administrator must be able to statically
  147.        configure the BGP attribute INTER-AS METRIC to be used for
  148.        any network route.
  149.  
  150.        o    By default, the INTER_AS METRIC must default to 1.
  151.  
  152.        Explanatory text: The OSPF cost and the BGP INTER-AS METRIC
  153.        are of different widths.  The OSPF cost is a two level
  154.        metric.  The BGP INTER-AS METRIC is only an optional non-
  155.        transitive attribute.  Hence, a more complex BGP INTER-AS
  156.        METRIC-OSPF cost mapping scheme is not necessary.
  157.  
  158.    4.   When an ASBR is advertising an OSPF route to network Y to
  159.         external BGP neighbours and learns that the route has become
  160.         unreachable, the ASBR must immediately propogate this
  161.         information to the external BGP neighbours.
  162.  
  163.    5.   An implementation of BGP and OSPF on an ASBR must have a
  164.         mechanism to set up a minimum amount of time that must elapse
  165.         between the learning of a new route via OSPF and subsequent
  166.         advertisement of the route via BGP to the external
  167.  
  168.  
  169.  
  170. Varadhan                                                        [Page 3]
  171.  
  172. RFC 1364                  BGP OSPF Interaction            September 1992
  173.  
  174.  
  175.         neighbours.
  176.  
  177.         o    The default value for this setting must be 0, indicating
  178.              that the route is to be advertised to the neighbour BGP
  179.              peers instantly.
  180.  
  181.              Note that [RFC1267] mandates a mechanism to dampen the
  182.              inbound advertisements from adjacent neighbours.
  183.  
  184. 2.2.  Importing BGP routes into OSPF
  185.  
  186.    1.   BGP implementations should allow an AS to control
  187.         announcements of BGP-learned routes into OSPF.
  188.         Implementations should support such control with the
  189.         granularity of a single network.  Implementations should also
  190.         support such control with the granularity of an autonomous
  191.         system, where the autonomous system may be either the
  192.         autonomous system that originated the route or the autonomous
  193.         system that advertised the route to the local system
  194.         (adjacent autonomous system).
  195.  
  196.          o    By default, no routes must be imported from BGP into
  197.               OSPF.  Administrators must configure every route they
  198.               wish to import.
  199.  
  200.               A mechanism may allow an administrator to configure an
  201.               ASBR to import all the BGP routes into the OSPF routing
  202.               domain.
  203.  
  204.    2.   The administrator must be able to configure the OSPF cost and
  205.         the OSPF metric type of every route imported into OSPF.
  206.  
  207.         o    The OSPF cost must default to 1; the OSPF metric type
  208.              must default to type 2.
  209.  
  210.    3.   Routes learned via IBGP must not be imported into OSPF.
  211.  
  212.    4.   The ASBR must never generate a default route into the OSPF
  213.         routing domain unless explicitly configured to do so.
  214.  
  215.         A possible criterion for generating default into an IGP is to
  216.         allow the administrator to specify a set of (network route,
  217.         AS_PATH, default route cost, default route type) tuples.  If
  218.         the ASBR learns of the network route for an element of the
  219.         set, with the corresponding AS_PATH, then it generates a
  220.         default route into the OSPF routing domain, with cost
  221.         "default route cost" and type, "default route type".  The
  222.         lowest cost default route will then be injected into the OSPF
  223.  
  224.  
  225.  
  226. Varadhan                                                        [Page 4]
  227.  
  228. RFC 1364                  BGP OSPF Interaction            September 1992
  229.  
  230.  
  231.         routing domain.
  232.  
  233.         This is the recommended method for originating default routes
  234.         in the OSPF routing domain.
  235.  
  236. 3.  BGP Identifier and OSPF router ID
  237.  
  238.    The BGP identifier must be the same as the OSPF router id at all
  239.    times that the router is up.
  240.  
  241.    This characteristic is required for two reasons.
  242.  
  243.       i.   Consider the scenario in which 3 routers, RT1, RT2, and RT3,
  244.            belong to the same autonomous system.
  245.  
  246.                             +-----+
  247.                             | RT3 |
  248.                             +-----+
  249.                                |
  250.  
  251.                 Autonomous System running OSPF
  252.  
  253.                         /             \
  254.                     +-----+          +-----+
  255.                     | RT1 |          | RT2 |
  256.                     +-----+          +-----+
  257.  
  258.    Both RT1 and RT2 have routes to an external network X and import it
  259.    into the OSPF routing domain.  RT3 is advertising the route to
  260.    network X to other external BGP speakers.  RT3 must use the OSPF
  261.    router ID to determine whether it is using RT1 or RT2 to forward
  262.    packets to network X and hence build the correct AS_PATH to advertise
  263.    to other external speakers.
  264.  
  265.    More precisely, RT3 must use the AS_PATH of the route announced by
  266.    the ASBR, whose BGP Identifier is the same as the OSPF routerID
  267.    corresponding to its route for network X.
  268.  
  269.       ii.  It will be convenient for the network administrator looking at
  270.            an ASBR to correlate different BGP and OSPF routes based on
  271.            the identifier.
  272.  
  273. 4.  Setting OSPF tags, BGP ORIGIN and AS_PATH attributes
  274.  
  275.    The OSPF external route tag is a "32-bit field attached to each
  276.    external route . . . It may be used to communicate information
  277.    between AS boundary routers; the precise nature of such information
  278.    is outside the scope of [the] specification." [RFC1247]
  279.  
  280.  
  281.  
  282. Varadhan                                                        [Page 5]
  283.  
  284. RFC 1364                  BGP OSPF Interaction            September 1992
  285.  
  286.  
  287.    OSPF imports information from various routing protocols at all its
  288.    ASBRs.  In some instances, it is possible to use protocols other than
  289.    EGP or BGP across autonomous systems.  It is important, in BGP, to
  290.    differentiate between routes that are external to the OSPF routing
  291.    domain but must be considered internal to the AS, as opposed to
  292.    routes that are external to the AS.
  293.  
  294.    Routes that are internal to the AS and that may or may not be
  295.    external to the OSPF routing domain will not come to the various BGP
  296.    speakers via IBGP.  Therefore, ASBRs running BGP must have knowledge
  297.    of this class of routes so that they can advertise these routes to
  298.    the various external AS without waiting for IBGP updates about these
  299.    routes.
  300.  
  301.    Additionally, in the specific instance of an AS intermixing routers
  302.    running EGP and BGP as external gateway routing protocols, using OSPF
  303.    as an IGP, the network administrator does not have to configure IBGP
  304.    on every ASBR running EGP and not running BGP, if this information
  305.    can be carried in the OSPF tag field.
  306.  
  307.    We use the external route tag field in OSPF to intelligently set the
  308.    ORIGIN and AS_PATH attributes in BGP.  Both the ORIGIN and AS_PATH
  309.    attributes are well-known, mandatory attributes in BGP.  The exact
  310.    mechanism for setting the tags is defined below.
  311.  
  312.    The tag is broken up into sub-fields shown below.  The various sub-
  313.    fields specify the characteristics of the route imported into the
  314.    OSPF routing domain.
  315.  
  316.    The high bit of the OSPF tag is known as the "Automatic" bit.  When
  317.    this bit is set to 1, the following sub-fields apply:
  318.  
  319.        0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  320.        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  321.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  322.       |a|c|p l|     ArbitraryTag      |       AutonomousSystem        |
  323.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  324.  
  325.    a    is 1 bit called the Automatic bit, indicating that the
  326.         Completeness and PathLength bits have been generated
  327.         automatically by a router.  The meaning of this characteristic
  328.         and its setting are defined below.
  329.  
  330.    c    is 1 bit of Completeness information.  The meaning of this
  331.         characteristic and its settings are defined below.
  332.  
  333.    pl   are 2 bits of PathLength information.  The meaning of this
  334.         characteristic and its setting are defined below.
  335.  
  336.  
  337.  
  338. Varadhan                                                        [Page 6]
  339.  
  340. RFC 1364                  BGP OSPF Interaction            September 1992
  341.  
  342.  
  343.    ArbitraryTag (or "at")
  344.         is 12 bits of tag information, which defaults to 0 but can be
  345.         configured to anything else.
  346.  
  347.    AutonomousSystem (or "as")
  348.         is 16 bits, indicating the AS number corresponding to the
  349.         route, 0 if the route is to be considered as part of the local
  350.         AS.
  351.  
  352.    When the Automatic bit is set to 0, the following sub-fields apply:
  353.  
  354.        0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  355.        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  356.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  357.       |a|                          LocalInfo                          |
  358.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  359.  
  360.    a    is 1 bit called the Automatic bit, set to 0.
  361.  
  362.    LocalInfo (or "li")
  363.         is 31 bits of an arbitrary value, manually configured by the
  364.         network administrator.
  365.  
  366.    The format of the tag for various values of the characteristics bits
  367.    is defined below.
  368.  
  369. 4.1.  Semantics of the characteristics bits
  370.  
  371.    The Completeness and PathLength characteristics bits define the
  372.    characteristic of the route imported into OSPF from other ASBRs in
  373.    the autonomous system.  This setting is then used to set the ORIGIN
  374.    and NEXT_HOP attributes when re-exporting these routes to an external
  375.    BGP speaker.
  376.  
  377.    o    The "a" bit or the Automatic characteristic bit is set when
  378.         the Completeness and PathLength characteristics bits are
  379.         automatically set by a border router.
  380.  
  381.         For backward compatibility, the Automatic bit must default to
  382.         0 and the network administrator must have a mechanism to
  383.         enable automatic tag generation.  Nothing must be inferred
  384.         about the characteristics of the OSPF route from the tag
  385.         bits, unless the tag has been automatically generated.
  386.  
  387.    o    The "c" bit of the Completeness characteristic bit is set
  388.         when the source of the incoming route is known precisely, for
  389.         instance, from an IGP within the local autonomous system or
  390.         EGP at one of the autonomous system's boundaries.  It refers
  391.  
  392.  
  393.  
  394. Varadhan                                                        [Page 7]
  395.  
  396. RFC 1364                  BGP OSPF Interaction            September 1992
  397.  
  398.  
  399.         to the status of the path information carried by the routing
  400.         protocol.
  401.  
  402.    o    The "pl" or the PathLength characteristic sub-field is set
  403.         depending on the length of the AS_PATH that the protocol
  404.         could have carried when importing the route into the OSPF
  405.         routing domain.  The length bits will indicate whether the
  406.         AS_PATH attribute for the length is zero, one, or greater
  407.         than one.
  408.  
  409.         Routes imported from an IGP will usually have an AS_PATH of
  410.         length of 0, routes imported from an EGP will have an AS_PATH
  411.         of length 1, BGP and routing protocols that support complete
  412.         path information, either as AS_PATHs or routing domain paths,
  413.         will indicate a path greater than 1.
  414.  
  415.         The OSPF tag is not wide enough to carry path information
  416.         about routes that have an associated PathLength greater than
  417.         one.  Path information about these routes will have to be
  418.         carried via IBGP.  Such routes must not be exported from OSPF
  419.         into BGP.
  420.  
  421.    For brevity in the following sections, the keywords O and P refer to
  422.    the BGP ORIGIN and AS_PATH attributes respectively.  Likewise, we use
  423.    the abbreviations , "l" and "nh" for the local_AS and next_hop_AS
  424.    respectively in the following sections.
  425.  
  426. 4.2.  Configuration parameters for setting the OSPF tag
  427.  
  428.    o    There must be a mechanism to enable automatic generation of
  429.         the tag characteristic bits.
  430.  
  431.    o    Configuration of an ASBR running OSPF must include the
  432.         capability to associate a tag value, for the ArbitraryTag, or
  433.         LocalInfo sub-field of the OSPF tag, with each instance of a
  434.         routing protocol.
  435.  
  436.    o    Configuration of an ASBR running OSPF must include the
  437.         capability to associate an AS number with each instance of a
  438.         routing protocol.
  439.  
  440.         Associating an AS number with an instance of an IGP is
  441.         equivalent to flagging those set of routes imported from the
  442.         IGP to be external routes outside the local autonomous
  443.         system.
  444.  
  445.         Specifically, when the IGP is RIP [RFC1058], it should be
  446.         possible to associate a tag and/or an AS number with every
  447.  
  448.  
  449.  
  450. Varadhan                                                        [Page 8]
  451.  
  452. RFC 1364                  BGP OSPF Interaction            September 1992
  453.  
  454.  
  455.         interface running RIP on the ASBR.
  456.  
  457. 4.3.  Manually configured tags
  458.  
  459.     0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  460.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  461.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  462.    |0|                          LocalInfo                          |
  463.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  464.  
  465.    This tag setting corresponds to the administrator manually setting
  466.    the tag bits.  Nothing shall be inferred about the characteristics of
  467.    the route corresponding to this tag setting.
  468.  
  469.    For backward compatibility with existing implementations of OSPF
  470.    currently deployed in the field, this must be the default setting for
  471.    importing routes into the OSPF routing domain.  There must be a
  472.    mechanism to enable automatic tag generation for imported routes.
  473.  
  474.    The OSPF tag to BGP attribute mappings for these routes must be
  475.    a=0, li=Arbitrary_Value  =>  O=<INCOMPLETE>, P=<l>
  476.  
  477. 4.4.  Automatically generated tags
  478.  
  479.    4.4.1.  Routes with incomplete path information, pl = 0.
  480.  
  481.      0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  482.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  483.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  484.     |1|0|0|0|     ArbitraryTag      |       AutonomousSystem        |
  485.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  486.  
  487.       These are routes imported from routing protocols with incomplete
  488.       path information and cannot or may not carry the neighbour AS or
  489.       AS path as part of the routing information.
  490.  
  491.       The OSPF tag to BGP attribute mappings for these routes must be
  492.                    a=1,c=0,pl=00,as=0 => O=<EGP>, P=<l>
  493.  
  494.    4.4.2  Routes with incomplete path information, pl = 1.
  495.  
  496.         0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  497.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  498.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  499.        |1|0|0|1|     ArbitraryTag      |       AutonomousSystem        |
  500.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  501.  
  502.       These are routes imported from routing protocols with incomplete
  503.  
  504.  
  505.  
  506. Varadhan                                                        [Page 9]
  507.  
  508. RFC 1364                  BGP OSPF Interaction            September 1992
  509.  
  510.  
  511.       path information and carry the neighbour AS as part of the routing
  512.       information.
  513.  
  514.       The OSPF tag to BGP attribute mappings for these routes must be
  515.                 a=1,c=0,pl=01,as=nh => O=<EGP>, P=<l, nh>
  516.  
  517.       This setting should be used for importing EGP routes into the OSPF
  518.       routing domain.  This setting can also be used when importing BGP
  519.       routes whose origin=<EGP> and AS_PATH=<nh>; if the BGP learned
  520.       route has no other transitive attributes, then its propogation via
  521.       IBGP can be suppressed.
  522.  
  523.    4.4.3.  Routes with incomplete path information, pl >= 1.
  524.  
  525.         0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  526.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  527.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  528.        |1|0|1|0|     ArbitraryTag      |       AutonomousSystem        |
  529.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  530.  
  531.       These are routes imported from routing protocols with truncated
  532.       path information.
  533.  
  534.       The OSPF tag to BGP attribute mappings for these routes must be
  535.                         a=1,c=0,pl=10,as=don't care
  536.  
  537.       These are imported by a border router, which is running BGP to a
  538.       stub domain, and not running IBGP to other ASBRs.  This causes a
  539.       truncation of the AS_PATH.  These routes must not be re-exported
  540.       into BGP at another ASBR.
  541.  
  542.    4.4.4.  Routes with complete path information, pl = 0.
  543.  
  544.         0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  545.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  546.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  547.        |1|1|0|0|     ArbitraryTag      |       AutonomousSystem        |
  548.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  549.  
  550.       These are routes imported from routing protocols with either
  551.       complete path information or are known to be complete through
  552.       means other than that carried by the routing protocol.
  553.  
  554.       The OSPF tag to BGP attribute mappings for these routes must be
  555.                    a=1,c=1,pl=00,as=0 => O=<IGP>, P=<l>
  556.  
  557.       This should be used for importing routes into OSPF from an IGP.
  558.  
  559.  
  560.  
  561.  
  562. Varadhan                                                       [Page 10]
  563.  
  564. RFC 1364                  BGP OSPF Interaction            September 1992
  565.  
  566.  
  567.    4.4.5.  Routes with complete path information, pl = 1.
  568.  
  569.         0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  570.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  571.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  572.        |1|1|0|1|     ArbitraryTag      |       AutonomousSystem        |
  573.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  574.  
  575.       These are routes imported from routing protocols with either
  576.       complete path information, or are known to be complete through
  577.       means other than that carried by the routing protocol.  The
  578.       routing protocol also has additional information about the
  579.       neighbour AS of the route.
  580.  
  581.       The OSPF tag to BGP attribute mappings for these routes must be
  582.                  a=1,c=1,pl=01,as=nh => O=<IGP>, P=<l, nh>
  583.  
  584.       This setting should be used when the administrator explicitly
  585.       associates an AS number with an instance of an IGP.  This setting
  586.       can also be used when importing BGP routes whose origin=<IGP> and
  587.       AS_PATH=<nh>; if the BGP learned route has no other transitive
  588.       attributes, then its propogation via IBGP can be suppressed.
  589.  
  590.    4.4.6.  Routes with complete path information, pl >= 1.
  591.  
  592.         0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  593.         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  594.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  595.        |1|1|1|0|     ArbitraryTag      |       AutonomousSystem        |
  596.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  597.  
  598.       These are routes imported from routing protocols with complete
  599.       path information and carry the AS path information as part of the
  600.       routing information.
  601.  
  602.       The OSPF tag must be set to
  603.                         a=1,c=1,pl=10,as=don't care
  604.  
  605.       These routes must not be exported into BGP because these routes
  606.       are already imported from BGP into the OSPF RD.  Hence, it is
  607.       assumed that the BGP speaker will convey this information to other
  608.       BGP speakers via IBGP.
  609.  
  610.       Note that an implementation may import BGP routes with a path
  611.       length of 1 and no other transitive attributes directly into OSPF
  612.       and not send these routes via IBGP.  In this situation, it must
  613.       use tag settings corresponding to 4.1.2.2, or 4.1.2.5.
  614.  
  615.  
  616.  
  617.  
  618. Varadhan                                                       [Page 11]
  619.  
  620. RFC 1364                  BGP OSPF Interaction            September 1992
  621.  
  622.  
  623. 4.5.  Miscellaneous tag settings
  624.  
  625.      0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  626.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  627.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  628.     |1|x|1|1|              Reserved  for  future  use               |
  629.     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  630.  
  631.    The value of pl = 3 is reserved during automatic tag generation.
  632.    Routers must not generate such a tag when importing routes into the
  633.    OSPF routing domain.  ASBRs must ignore tags which indicate a pl = 3.
  634.  
  635. 4.6.  Summary of the tag sub-field setting
  636.  
  637.    The following table summarises the various combinations of automatic
  638.    tag settings for the Completeness and PathLength sub-field of the
  639.    OSPF tag and the default behaviour permitted for each setting.
  640.  
  641.       Completeness := 0 | 1 ;
  642.       PathLength := 00 | 01 | 10 | 11;
  643.       ORIGIN := <INCOMPLETE> | <IGP> | <EGP>;
  644.  
  645.                AS_PATH := valid AS path settings as defined in BGP.
  646.  
  647.            pl = 00       pl = 01            pl = 10        pl = 11
  648.        +----------------------------------------------------------------
  649.        |
  650. c = 0  |    <EGP><l>    <EGP><l,nh>       never export       reserved
  651. c = 1  |    <IGP><l>    <IGP><l,nh>       out of band        reserved
  652.        |
  653.  
  654.       The "out of band" in the table above implies that OSPF will not be
  655.       able to carry everything that BGP needs in its routing
  656.       information.  Therefore, some other means must be found to carry
  657.       this information.  In BGP, this is done via IBGP.
  658.  
  659. 5.  Setting OSPF Forwarding Address and BGP NEXT_HOP attribute
  660.  
  661.    Forwarding addresses are used to avoid extra hops between multiple
  662.    routers that share a common network and that speak different routing
  663.    protocols with each other.
  664.  
  665.    Both BGP and OSPF have equivalents of forwarding addresses.  In BGP,
  666.    the NEXT_HOP attribute is a well-known, mandatory attribute.  OSPF
  667.    has a Forwarding address field.  We will discuss how these are to be
  668.    filled in various situations.
  669.  
  670.    Consider the 4 router situation below:
  671.  
  672.  
  673.  
  674. Varadhan                                                       [Page 12]
  675.  
  676. RFC 1364                  BGP OSPF Interaction            September 1992
  677.  
  678.  
  679.    RT1 and RT2 are in one autonomous system, RT3 and RT4 are in another.
  680.    RT1 and RT3 are talking BGP with each other.
  681.    RT3 and RT4 are talking OSPF with each other.
  682.  
  683.            +-----+                 +-----+
  684.            | RT1 |                 | RT2 |
  685.            +-----+                 +-----+
  686.               |                       |            common network
  687.            ---+-----------------------+--------------------------
  688.                <BGP> |                       |
  689.                   +-----+     <OSPF>      +-----+
  690.                   | RT3 |                 | RT4 |
  691.                   +-----+                 +-----+
  692.  
  693.  
  694.    - Importing network X to OSPF:
  695.  
  696.         Consider an external network X, learnt via BGP from RT1.
  697.  
  698.         RT3 must always fill the OSPF Forwarding Address with the BGP
  699.  
  700.         NEXT_HOP attribute for the route to network X.
  701.  
  702.    - Exporting network Y to BGP:
  703.  
  704.         Consider a network Y, internal to the OSPF routing domain,
  705.         RT3's route to network Y is via RT4, and network Y is to be
  706.         exported via BGP to RT1.
  707.  
  708.         If network Y is not a subnetted network, RT3 must fill the
  709.         NEXT_HOP attribute for network Y with the address of RT4.
  710.         This is to avoid requiring packets to take an extra hop
  711.         through RT3 when traversing the AS boundary.  This is similar
  712.         to the concept of indirect neighbour support in EGP [RFC888,
  713.         RFC827].
  714.  
  715. 6.  Security Considerations
  716.  
  717.    Security considerations are not discussed in this memo.
  718.  
  719. 7.  Acknowledgements
  720.  
  721.    I would like to thank Yakov Rekhter, Jeff Honig, John Moy, Tony Li,
  722.    and Dennis Ferguson for their help and suggestions in writing this
  723.    document, without which I could not have written this document.  I
  724.    would also like to thank them for giving me the opportunity to write
  725.    this document, and putting up with my muddlements through various
  726.    phases of this document.
  727.  
  728.  
  729.  
  730. Varadhan                                                       [Page 13]
  731.  
  732. RFC 1364                  BGP OSPF Interaction            September 1992
  733.  
  734.  
  735.    I would also like to thank the countless number of people from the
  736.    OSPF and BGP working groups who have offered numerous suggestions and
  737.    comments on the different stages of this document.
  738.  
  739. 8.  Bibliography
  740.  
  741.    [RFC827]  Rosen, E., "Exterior Gateway Protocol (EGP)", RFC 827,
  742.              BBN, October 1982.
  743.  
  744.    [RFC888]  Seamonson, L., and E. Rosen, "STUB Exterior Gateway
  745.              Protocol", RFC 888, BBN, January 1984.
  746.  
  747.    [RFC1058]  Hedrick, C., "Routing Information Protocol", RFC 1058,
  748.               Rutgers University, June 1988.
  749.  
  750.    [RFC1267]  Lougheed, K., and Y. Rekhter, "A Border Gateway
  751.               Protocol 3 (BGP-3)", RFC 1267, cisco Systems,
  752.               T.J. Watson Research Center, IBM Corp., October 1991.
  753.  
  754.    [RFC1268]  Rekhter, Y., and P. Gross, Editors, "Application of the
  755.               Border Gateway Protocol in the Internet", RFC 1268,
  756.               T.J. Watson Research Center, IBM Corp., ANS, October 1991.
  757.  
  758.    [RFC1247]  Moy, J., "The OSPF Specification - Version 2:", RFC 1247,
  759.               Proteon, January 1991.
  760.  
  761.    [ROUTE-LEAKING]  Almquist, P., "Ruminations on Route Leaking",
  762.                     Work in Progress.
  763.  
  764.    [NEXT-HOP]  Almquist, P., "Ruminations on the Next Hop",
  765.                Work in Progress.
  766.  
  767. 9.  Author's  Address
  768.  
  769.    Kannan Varadhan
  770.    Internet Engineer, OARnet
  771.    1224 Kinnear Road
  772.    Columbus, OH 43212-1136
  773.  
  774.    EMail: kannan@oar.net
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Varadhan                                                       [Page 14]
  787.  
  788.